Academy Glossary
A¶
Abstract¶
A keyword used in a class or method definition, which specifies that the method/class is not going to be instantiated, but should be inherited by other methods or classes:
API¶
(Application Programming Interface) – The way to expose a set of pre-defined classes and interfaces to external clients to interact with them, without sharing the implementation details.
Access modifiers¶
Access modifiers are used to set the accessibility (visibility) of classes, interfaces, variables, methods, constructors, data members, and the setter methods.
Argument¶
An input specified in a method call; it can be a literal value, a variable, or an expression:
Array¶
A fixed-size collection of data of the same type, which can hold zero or more items:
Autoboxing¶
Automatic conversion between the primitive types and their corresponding object wrapper classes:
B¶
Bean¶
JavaBeans are classes that encapsulate one or more objects into a single standardized object. This standardization allows the beans to be handled in a more generic fashion, allowing easier code reuse and introspection.
Bill of Materials (BOM)¶
A BOM is a special kind of POM that is used to control the versions of a project’s dependencies and provide a central place to define and update those versions.
Black Box Testing¶
Testing without any knowledge of the internal structure of a component or system.
Block¶
Code between two matching open and close braces, which is the single logical unit of work inside the application:
Boilerplate¶
Boilerplate code or boilerplate refers to sections of code that have to be included in many places with little or no alteration. It is often used when referring to languages that are considered verbose, i.e. the programmer must write a lot of code to do minimal jobs.
Bytecode¶
The instruction set for Java Virtual Machine, created from source files into bytecode by the compiler.
C¶
Casting (type-casting)¶
Conversion from one data type to another:
Class method¶
A method that is invoked without reference to a particular object. Class methods affect the class as a whole, not a particular instance of the class. Also called a static method.
classpath¶
An environment variable or a command-line argument indicating the path searched by the Java compiler and the runtime for class definitions.
Class variable¶
A data item associated with a particular class as a whole--not with particular instances of the class. Class variables are defined in class definitions. Also called a static field.
Constant¶
A final variable in Java, which means that the reference of it cannot be changed once initialized:
Constructor¶
A method inside the class, which creates and initializes objects in it – needs to be public and names the same as the class:
D¶
Declaration¶
Defined as a statement that establishes an identifier and associates attributes with it, without necessarily reserving its storage or providing the implementation
E¶
Encapsulation¶
The process of protecting the state of objects by defining its attributes as private and channeling access to them through accessor and mutator methods.
enum¶
A Java keyword used to declare the enumerated type (whose values are a fixed set of constants):
Expression¶
A combination of operands and operators which causes particular behavior and produces results.
Extends¶
A keyword used to define the inheritance of classes or interfaces:
F¶
Field¶
A variable defined outside of all defined methods, but inside of the class; in other words, a member of a class.
Final¶
A Java keyword indicating that an entity is immutable, thus, you can’t change its reference during the program execution:
G¶
Gradle¶
Gradle is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing.
Graven and Madle¶
The term used by scrum master, Jack Norcup, who accidentally flubbed his pronunciation of Gradle and Maven.
H¶
Hash code¶
A value used to provide an efficient way to map object and its location, returned by a hash function.
Hash function¶
A method used to produce hash code from any data of arbitrary size to data of fixed size.
I¶
IDE¶
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger.
Immutable object¶
An object whose state or value is not changeable after creation.
implements¶
A Java keyword used to indicate which interfaces are implemented by the current class:
public class Foo implements FooBar {
// implementation of all methods defined in the <em>FooBar</em> interface
}
import¶
A statement used to enable the use of other classes or interfaces from different Java packages:
inheritance¶
A feature of object-oriented programming, where classes contain all variables and methods defined in their supertypes.
K¶
Knowledge of the System¶
A persons' understanding of a component or system to be tested. Depending on the level of knowledge, this can either be attributed to using Black Box Testing or White Box Testing
L¶
livelock¶
A situation when two separate threads are waiting for each other to check the condition of particular part of the program.
Local variable¶
A variable defined in the method body, visible only inside it.
M¶
Maven¶
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.
Member¶
A field or method of a class. Unless specified otherwise, a member is not static.
Method¶
A particular function implemented in a Java class:
N¶
Namespace¶
An area of the program defined by packages, with established access control parameters.
new¶
The operator used to create an instance of a class.
O¶
Object¶
An instance of a particular class.
Overloading¶
Using the same method name for various implementation, differentiated by parameters:
private int sum(int x, int y) {
return (x + y);
}
private int sum(int x, int y, int z) {
return (x + y + z);
}
Override¶
Providing a different implementation of the original method in its subclass:
public class Foo {
public void test(){
// original implementation
}
}
public class BabyFoo extends Foo {
@Override
public void test(){
// overriden implementation
}
}
P¶
Package¶
A name for a grouping of classes and interfaces in a namespace.
Plain English¶
Plain English is a language that is considered to be clear and concise. It usually avoids the use of uncommon vocabulary and lesser-known euphemisms to explain the subject. Plain English wording is intended to be suitable for a general audience, it allows for comprehensive understanding to help readers understand a topic.
Private¶
An access modifier, used to specify the visibility of a method or a variable, so they can be accessed only within its class.
Project Object Model (POM)¶
The pom.xml file contains information of project and configuration information for the maven to build the project such as dependencies, build directory, source directory, test source directory, plugin, goals etc.
Protected¶
An access modifier, that makes variables or classes accessible to all other elements in the same package.
Public¶
An access modifier, allowing external access to a particular variable or method.
R¶
Reflection¶
The ability of the code to inspect and manipulate other code in the same runtime process.
S¶
Scope¶
Determines the visibility of elements in the program, for example, local or global variables.
Serialisation¶
The process of encoding and decoding the objects to the stream of bytes, and vice-versa.
Static¶
Class member variable stored and accessed as a single instance for all objects of that class:
Static field¶
Another name for class variable.
Static method¶
Another name for class method.
T¶
Test-Drive Development (TDD)¶
TDD is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases. This is as opposed to software being developed first and test cases created later.
this¶
A Java keyword that can be used to represent an instance of the class in which it appears. "this" can be used to access class variables and methods.
U¶
Unicode¶
A 16-bit character set defined by ISO 10646.
V¶
Variable¶
An item of data associated with a specific type.
Variable decleration¶
The place in the application, where the specific variable is assigned to one of the existing Java types.
W¶
White Box Testing¶
Testing based upon knowing the internal structure of a component or a system.